﻿//
// HttpHandlerResourceV3Extensions.cs
//
// Author:
//       Matt Ward <matt.ward@xamarin.com>
//
// Code taken from NuGet.Client src/NuGet.Clients/VsExtension/NuGetPackage.cs
//
// Copyright (c) 2016 Xamarin Inc. (http://xamarin.com)
// Copyright (c) .NET Foundation. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//

using System;
using NuGet.Configuration;
using NuGet.Credentials;
using NuGet.Protocol;

namespace MonoDevelop.PackageManagement
{
	internal static class HttpHandlerResourceV3Extensions
	{
		public static void InitializeHttpHandlerResourceV3 (CustomCredentialService credentialService)
		{
			HttpHandlerResourceV3.CredentialService = new Lazy<ICredentialService> (() => credentialService);
		}

		public static CustomCredentialService GetCustomCredentialService ()
		{
			var lazyCredentialService = HttpHandlerResourceV3.CredentialService;
			if (lazyCredentialService != null) {
				return lazyCredentialService.Value as CustomCredentialService;
			}
			return null;
		}
	}
}

